<?php

class Enturmacao extends AppModel {
	
	var $belongsTo = array('TipoSerie','Turma','Disciplina','Professor');
	
	var $hasMany = array('MatriculaDisciplina');
	
	var $validate = array(
	
        'ano' => array(
            'vazio' => array(
                'rule' => 'notEmpty',
                'required' => true,
                'message' => 'Ano deve ser informado!',
                'last' => true
			)
		),
        'tipo_serie_id' => array(
            'vazio' => array(
                'rule' => 'notEmpty',
                'required' => true,
                'message' => 'Série deve ser informado!',
                'last' => true
			)
		),
        'turma_id' => array(
            'vazio' => array(
                'rule' => 'notEmpty',
                'required' => true,
                'message' => 'Turma deve ser informado!',
                'last' => true
			)
		),
        'turno' => array(
            'vazio' => array(
                'rule' => 'notEmpty',
                'required' => true,
                'message' => 'Turno deve ser informado!',
                'last' => true
			)
		),		
        'disciplina_id' => array(
            'vazio' => array(
                'rule' => 'notEmpty',
                'required' => true,
                'message' => 'Disciplina deve ser informado!',
                'last' => true
			)
		),
        'professor_id' => array(
            'vazio' => array(
                'rule' => 'notEmpty',
                'required' => true,
                'message' => 'Professor deve ser informado!',
                'last' => true
			)
		)				
	);
	
	
	public function carregar_turno() {
		return array('M' => 'Manhã', 'T' => 'Tarde', 'N' => 'Noite');
	}		
	
	public function get_lista($ano) {
		
		$enturmacoes = $this->find('all', array(
			'conditions' => array('Enturmacao.ano' => $ano),
			'recursive' => 0
		));
		
		$lista = array();
		
		foreach ($enturmacoes as $enturmacao) {
			
			$lista[$enturmacao['Enturmacao']['id']] = $enturmacao['Enturmacao']['ano'] . ' - ' . $enturmacao['Disciplina']['nome'] . ' - Turma: ' . $enturmacao['Turma']['nome'] . ' - Prof.: ' . $enturmacao['Professor']['nome'];
			
		}
		
		return $lista;
		
	}

	public function get_lista_turmas($ano, $tipo_serie_id, $formato = 'array', $turma_id = null) {
		
		$options['joins'] = array(
		    array('table' => 'turmas',
		        'alias' => 'Turma',
		        'type' => 'LEFT',
		        'conditions' => array(
		            'Turma.id = Enturmacao.turma_id',
		        )
		    )
		);		
		$options['fields'] = array('Turma.id', 'Turma.nome');
		$options['conditions']['Enturmacao.ano'] = $ano;
		$options['conditions']['Enturmacao.tipo_serie_id'] = $tipo_serie_id;
		
		$result = $this->find('list', $options);
		
		$retorno = $result;
		array_unshift($retorno, array('0' => 'Selecione...'));
		
		if ($formato == 'options') {
			$retorno = '<option selected="selected" value="0">Selecione..</option>';
			foreach ($result as $id => $nome) {
				$selected = ($id === $turma_id) ? 'selected="selected"' : '';
				$retorno .= "<option value='$id' $selected>$nome</option>";
			}
		}
		
		return $retorno;
	}
}